package daos;

import java.util.List;

import org.hibernate.Query;

import model.Asiento;
import model.Tramo;
import model.Vuelo;

public class VueloDAO {

	
	public Vuelo get(Long key) {
		return  (Vuelo) SessionManager.getSession().get(Vuelo.class,key);
	}

	public void save(Vuelo v) {
		SessionManager.getSession().saveOrUpdate(v);
	}
	
	protected Tramo getTramo(Long vueloID,Long tramoID){
		Vuelo vueloAux = this.get(vueloID);
		return vueloAux.findTramo(tramoID);
	}
	
	public Asiento getAsiento(Long vueloID,Long tramoID, Long codAsiento){
		Tramo tramoAux = this.getTramo(vueloID, tramoID);
		return tramoAux.findAsiento(codAsiento);
	}

	/**
	 * 			CUIDADITO CON ESTE!!! >:(
	 * 
	 * Podría retornar algo que no queremos, como una lista de de arrays(tuplas asiento-tramo)
	 * */
	@SuppressWarnings("unchecked")
	public List<Asiento> getAsientosDeTramo(Long tramoID) {
		Query qq = SessionManager.getSession().createQuery("from Vuelo.tramosDelVuelo.asientoDeVuelo");
		List<Asiento> lAux = qq.list();
		return lAux;
	}
	
	
}
